home *** CD-ROM | disk | FTP | other *** search
/ Ham Radio 2000 #2 / Ham Radio 2000 - Volume 2.iso / HAMV2 / MISC / HCAL-27 / LOOPANT.BAS (.txt) < prev    next >
Encoding:
GW-BASIC  |  1997-02-13  |  3.6 KB  |  128 lines

  1. 10  'LOOPANT - Loop Antenna Coil Inductance - 16 JAN 97  rev. 13 FEB 97
  2. 20  IF EX$=""THEN EX$="EXIT"
  3. 30  CLS:KEY OFF
  4. 40  COLOR 7,0,1
  5. 50  U$="###.###"
  6. 60  UL$=STRING$(80,205)
  7. 70  PI=3.14159
  8. 80  DIM K(4,4)
  9. 90  FOR Z=1 TO 4:READ K$(Z):NEXT Z
  10. 100  FOR Z=1 TO 4:FOR Y=1 TO 4
  11. 110  READ K(Y,Z):NEXT Y:NEXT Z
  12. 120  GOTO 250
  13. 130  '
  14. 140  DATA TRIANGULAR,SQUARE,HEXAGONAL,OCTAGONAL
  15. 150  DATA   .006,   .008,   .012,   .016
  16. 160  DATA 1.1547, 1.4142,      2,  2.613
  17. 170  DATA .65533, .37942, .65533,   .75143
  18. 180  DATA  .1348,  .3333,  .1348,   .07153
  19. 190  '
  20. 200  '.....format input line
  21. 210  LOCATE CSRLIN-1:PRINT SPC(7);
  22. 220  LOCATE CSRLIN,47:PRINT STRING$(7,".");USING U$;ZZ;
  23. 230  RETURN
  24. 240  '
  25. 250  '.....start
  26. 260  CLS:N=0:D=0
  27. 270  COLOR 15,2
  28. 280  PRINT " LOOP ANTENNA COIL INDUCTANCE";TAB(57)"by George Murphy VE3ERP ";
  29. 290  COLOR 1,0:PRINT STRING$(80,223);
  30. 300  COLOR 7,0
  31. 310  GOSUB 1030   'preface
  32. 320  PRINT UL$;
  33. 330  PRINT " Press number in < > for:"
  34. 340  PRINT UL$;
  35. 350  PRINT "  < 1 >  Triangular Loop"
  36. 360  PRINT "  < 2 >  Square Loop"
  37. 370  PRINT "  < 3 >  Hexagonal Loop"
  38. 380  PRINT "  < 4 >  Octagonal Loop"
  39. 390  PRINT
  40. 400  PRINT "  < 0 >  EXIT"
  41. 410  Z$=INKEY$:IF Z$=""THEN 410
  42. 420  IF Z$="0"THEN CLS:RUN EX$
  43. 430  Y=VAL(Z$)
  44. 440  IF Y=1 THEN X=3:GOTO 490      'X=no.of sides
  45. 450  IF Y=2 THEN X=4:GOTO 490
  46. 460  IF Y=3 THEN X=6:GOTO 490
  47. 470  IF Y=4 THEN X=8:GOTO 490
  48. 480  GOTO 510
  49. 490  PRINT UL$;
  50. 500  PRINT " Do you want dimensions in (c)entimetres or (i)nches?  (c/i)"
  51. 510  Z$=INKEY$:IF Z$=""THEN 510
  52. 520  IF Z$="c"THEN UM=1:UM$="cm.":GOTO 550
  53. 530  IF Z$="i"THEN UM=2.54:UM$="in.":GOTO 550
  54. 540  GOTO 510
  55. 550  VIEW PRINT 3 TO 24:CLS:VIEW PRINT:LOCATE 3
  56. 560  PRINT " ";K$(Y);" LOOP:"
  57. 570  PRINT UL$;
  58. 580  '
  59. 590  '.....inputs
  60. 600  INPUT " ENTER: Number of turns..............................";N
  61. 610  ZZ=N:GOSUB 200
  62. 620  PRINT " ENTER: Length of each of";X;"sides...............(";UM$;")";
  63. 630  INPUT S:S=S*UM
  64. 640  ZZ=S:GOSUB 200:PRINT " cm. (";USING U$;S/2.54;:PRINT " in.)"
  65. 650  IF Y=1 THEN R=S/1.732
  66. 660  IF Y=2 THEN R=(SQR(2*S^2))/2
  67. 670  IF Y=3 THEN R=S
  68. 680  IF Y=4 THEN R=1.307*S
  69. 690  PRINT "        Radius (centre of loop to each corner)......."
  70. 700  ZZ=R:GOSUB 200:PRINT " cm. (";USING U$;R/2.54;:PRINT " in.)"
  71. 710  PRINT "        Length of conductor per turn................."
  72. 720  ZZ=S*X/100:GOSUB 200:PRINT " m.  (";USING U$;ZZ/0.3048;:PRINT " ft.)"
  73. 730  PRINT "        Total conductor length......................."
  74. 740  ZZ=ZZ*N:GOSUB 200:PRINT " m.  (";USING U$;ZZ/0.3048;:PRINT " ft.)"
  75. 750  IF X=3 THEN AR=S/2*SQR(S^2-(S^2/2/S)^2)
  76. 760  IF X=4 THEN AR=S^2
  77. 770  IF X=6 THEN AR=2.598*S^2
  78. 780  IF X=8 THEN AR=4.828*S^2
  79. 790  PRINT "        Area of loop................................."
  80. 800  ZZ=AR/10^4
  81. 810  GOSUB 200:PRINT " m<UNK! {FD20}> (";USING U$;ZZ/0.3048^2;:PRINT " ft<UNK! {FD29}>"
  82. 820  IF N=1 THEN 830 ELSE 860
  83. 830  PRINT " ENTER: Conductor diameter........................(";UM$;")";
  84. 840  INPUT D:D=D*UM
  85. 850  ZZ=D:GOSUB 200:PRINT " cm. (";USING U$;D/2.54;:PRINT " in.)"
  86. 860  PRINT " ENTER: Coil length...............................(";UM$;")";
  87. 870  IF D THEN L=D:PRINT:GOTO 890
  88. 880  INPUT L:L=L*UM
  89. 890  ZZ=L:GOSUB 200:PRINT " cm. (";USING U$;L/2.54;:PRINT " in.)"
  90. 900  IF D THEN 940
  91. 910  PRINT "        Turn spacing................................."
  92. 920  SP=L/N
  93. 930  ZZ=SP:GOSUB 200:PRINT " cm. (";USING U$;SP/2.54;:PRINT " in.)"
  94. 940  '.....calculate
  95. 950  A=K(Y,1):BX=K(Y,2):C=K(Y,3):DX=K(Y,4)
  96. 960  B=BX*S*N/((N+1)*L)
  97. 970  D=DX*(N+1)*L/(S*N)
  98. 980  UH=A*N^2*S*(LOG(B)+C+D)
  99. 990  PRINT "        Inductance..................................."
  100. 1000  ZZ=UH:GOSUB 200:PRINT " >H"
  101. 1010  GOSUB 1150:GOTO 250
  102. 1020  '
  103. 1030  '.....preface
  104. 1040  TB=7
  105. 1050  PRINT TAB(TB);
  106. 1060  PRINT "This program calulates inductances of very short large diameter"
  107. 1070  PRINT TAB(TB);
  108. 1080  PRINT "single-layer air-core coils (loop antennas), using equations"
  109. 1090  PRINT TAB(TB);
  110. 1100  PRINT "provided by F. W. Grover of the U.S. National Bureau of Standards."
  111. 1110  PRINT TAB(TB);
  112. 1120  PRINT "(The ARRL ANTENNA BOOK, 17th edition, page 5-4, Table 1)"
  113. 1130  RETURN
  114. 1140  '
  115. 1150  'HARDCOPY
  116. 1160  GOSUB 1270:LOCATE 25,2:COLOR 14,6
  117. 1170  PRINT " Press 1 to print screen, 2 to print screen & ";
  118. 1180  PRINT "advance paper, or 3 to continue.";:COLOR 7,0
  119. 1190  Z$=INKEY$:IF Z$="3"THEN GOSUB 1270:RETURN
  120. 1200  IF Z$="1"OR Z$="2"THEN GOSUB 1270:GOTO 1220
  121. 1210  GOTO 1190
  122. 1220  FOR QX=1 TO 24:FOR QY=1 TO 80
  123. 1230  LPRINT CHR$(SCREEN(QX,QY));
  124. 1240  NEXT QY:NEXT QX
  125. 1250  IF Z$="2"THEN LPRINT CHR$(12)
  126. 1260  GOTO 1160
  127. 1270  LOCATE 25,1:PRINT STRING$(80,32);:RETURN
  128.